package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.system.entity.AbdulBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;
import java.time.LocalTime;
/**
 * 扫码开单设置对象 scan_order_settings
 *
 * @author ruoyi
 * @date 2025-05-15
 */
@Data
@ApiModel("扫码开单设置对象")
public class ScanOrderSettings extends AbdulBaseEntity {
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @ApiModelProperty("主键ID")
    private Long id;

    /** 是否启用扫码开单：1启用 0禁用 */
    @ApiModelProperty("是否启用扫码开单：1启用 0禁用")
    @Excel(name = "是否启用扫码开单", readConverterExp = "0=禁用,1=启用")
    private Integer enableScanOrder;

    /** 开单方式：TABLE_ORDER桌台开单 ITEM_ORDER商品下单 */
    @ApiModelProperty("开单方式：TABLE_ORDER桌台开单 ITEM_ORDER商品下单")
    @Excel(name = "开单方式")
    private String orderCreationMode;

    /** 扫码开单范围 */
    @ApiModelProperty("扫码开单范围")
    @Excel(name = "扫码开单范围")
    private String scanOrderScope;

    /** 自助结账：1启用 0未启用 */
    @ApiModelProperty("自助结账：1启用 0未启用")
    @Excel(name = "自助结账", readConverterExp = "0=未启用,1=启用")
    private Integer selfCheckoutEnabled;

    /** 开单会员：ALL全选 NORMAL普通会员 GOLD_80_PERCENT黄金会员8折 */
    @ApiModelProperty("开单会员：ALL全选 NORMAL普通会员 GOLD_80_PERCENT黄金会员8折")
    @Excel(name = "开单会员")
    private String memberOrder;

    /** 最低金额限制：NO_LIMIT不限制 CUSTOM限制 */
    @ApiModelProperty("最低金额限制：NO_LIMIT不限制 CUSTOM限制")
    @Excel(name = "最低金额限制")
    private String minOrderAmountRestriction;

    /** 最低开单金额（单位：分） */
    @ApiModelProperty("最低开单金额（单位：分）")
    @Excel(name = "最低开单金额")
    private Integer minOrderAmount;

    /** 开单时会员储值卡余额不低于多少（元） */
    @ApiModelProperty("开单时会员储值卡余额不低于多少（元）")
    @Excel(name = "储值卡余额下限")
    private String minimumBalance;

    /** 营业开始时间 */
    @ApiModelProperty("营业开始时间")
    @JsonFormat(pattern = "HH:mm:ss")
    @Excel(name = "营业开始时间", width = 30, dateFormat = "HH:mm:ss")
    private LocalTime businessHoursStart;

    /** 营业结束时间 */
    @ApiModelProperty("营业结束时间")
    @JsonFormat(pattern = "HH:mm:ss")
    @Excel(name = "营业结束时间", width = 30, dateFormat = "HH:mm:ss")
    private LocalTime businessHoursEnd;

    /** 桌台开单模式开单后付款开始时间 */
    @ApiModelProperty("桌台开单模式开单后付款开始时间")
    @JsonFormat(pattern = "HH:mm:ss")
    @Excel(name = "开单后付款开始时间", width = 30, dateFormat = "HH:mm:ss")
    private LocalTime afterOrderStartTime;

    /** 桌台开单模式开单后付款结束时间 */
    @ApiModelProperty("桌台开单模式开单后付款结束时间")
    @JsonFormat(pattern = "HH:mm:ss")
    @Excel(name = "开单后付款结束时间", width = 30, dateFormat = "HH:mm:ss")
    private LocalTime afterOrderEndTime;

    /** 桌台开单模式开单先付款开始时间 */
    @ApiModelProperty("桌台开单模式开单先付款开始时间")
    @JsonFormat(pattern = "HH:mm:ss")
    @Excel(name = "开单先付款开始时间", width = 30, dateFormat = "HH:mm:ss")
    private LocalTime beforeOrderStartTime;

    /** 桌台开单模式开单先付款结束时间 */
    @ApiModelProperty("桌台开单模式开单先付款结束时间")
    @JsonFormat(pattern = "HH:mm:ss")
    @Excel(name = "开单先付款结束时间", width = 30, dateFormat = "HH:mm:ss")
    private LocalTime beforeOrderEndTime;

    /** 商品点单模式点单后付款开始时间 */
    @ApiModelProperty("商品点单模式点单后付款开始时间")
    @JsonFormat(pattern = "HH:mm:ss")
    @Excel(name = "点单后付款开始时间", width = 30, dateFormat = "HH:mm:ss")
    private LocalTime afterPaymentStartTime;

    /** 商品点单模式点单后付款结束时间 */
    @ApiModelProperty("商品点单模式点单后付款结束时间")
    @JsonFormat(pattern = "HH:mm:ss")
    @Excel(name = "点单后付款结束时间", width = 30, dateFormat = "HH:mm:ss")
    private LocalTime afterPaymentEndTime;

    /** 商品点单模式点单先付款开始时间 */
    @ApiModelProperty("商品点单模式点单先付款开始时间")
    @JsonFormat(pattern = "HH:mm:ss")
    @Excel(name = "点单先付款开始时间", width = 30, dateFormat = "HH:mm:ss")
    private LocalTime beforePaymentStartTime;

    /** 商品点单模式点单先付款结束时间 */
    @ApiModelProperty("商品点单模式点单先付款结束时间")
    @JsonFormat(pattern = "HH:mm:ss")
    @Excel(name = "点单先付款结束时间", width = 30, dateFormat = "HH:mm:ss")
    private LocalTime beforePaymentEndTime;

    /** 呼叫服务时段开始时间 */
    @ApiModelProperty("呼叫服务时段开始时间")
    @JsonFormat(pattern = "HH:mm:ss")
    @Excel(name = "呼叫服务时段开始", width = 30, dateFormat = "HH:mm:ss")
    private LocalTime serviceCallPeriodStartTime;

    /** 呼叫服务时段结束时间 */
    @ApiModelProperty("呼叫服务时段结束时间")
    @JsonFormat(pattern = "HH:mm:ss")
    @Excel(name = "呼叫服务时段结束", width = 30, dateFormat = "HH:mm:ss")
    private LocalTime serviceCallPeriodEndTime;

    /** 手机号 */
    @ApiModelProperty("手机号")
    @Excel(name = "手机号")
    private String phone;

}
